﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Dominio;

namespace Servicios
{
    // NOTA: si cambia aquí el nombre de interfaz "Service1", también debe actualizar la referencia a "Service1" en App.config.
    public class ICorreoImpl : ICorreo
    {

        #region Miembros de ICorreo

        Cuenta ICorreo.Login(String usuario, String contrasenia)
        {
            return Sistema.GetInstance().Login(usuario, contrasenia, true);
        }

        Mensaje ICorreo.MandarMensaje(String remitente, String destinatarios, String asunto, String contenido)
        {
            return Sistema.GetInstance().MandarMensaje(remitente, destinatarios, asunto, contenido);
        }

        Buzon ICorreo.RecibirMensajes(String cuenta)
        {
            return Sistema.GetInstance().RecibirMensajes(cuenta);
        }

        Carpeta ICorreo.CrearCarpetaEnCarpeta(String nombre, Carpeta carpetaPadre, String cuenta, String tipoBuzon)
        {
            return Sistema.GetInstance().CrearCarpetaEnCarpeta(nombre,carpetaPadre,cuenta, tipoBuzon);
        }

        Carpeta ICorreo.CrearCarpetaEnBuzon(String nombre, Buzon buzonPadre, String cuenta)
        {
            return Sistema.GetInstance().CrearCarpetaEnBuzon(nombre,buzonPadre, cuenta);
        }

        bool ICorreo.EliminarCarpetaEnCarpeta(Carpeta carpetaHija, Carpeta carpetaPadre)
        {
            return Sistema.GetInstance().EliminarCarpetaEnCarpeta(carpetaHija, carpetaPadre);
        }

        bool ICorreo.EliminarCarpetaEnBuzon(Carpeta carpetaHija, Buzon buzonPadre)
        {
            return Sistema.GetInstance().EliminarCarpetaEnBuzon(carpetaHija, buzonPadre);
        }

        Buzon ICorreo.TraerBuzon(String cuenta, String tipo)
        {
            return Sistema.GetInstance().TraerBuzon(cuenta, tipo);
        }

        #endregion
    }
}
